function ajax({method,url,data,async,contentType,success,error}){
  // console.log(123);
  // 1创建ajax对象
  var xhr=new XMLHttpRequest

  // 判断请求头里面存在json字符码
  if(contentType.includes("json")){
    // json对象转成json字符串的形式发送给后端'{"a":"1","b":"2"}'
    data = JSON.stringify(data)
  }else{
    // 将对象转成字符串拼接的形式赋值给data  a=1&b=2
    data = queryString(data)
  }
  
  // 如果是get请求并且有参数的情况下：url=接口？参数1=参数1的值
  // 如果是get请求并且没有参数的情况下：url=接口
  // 如果是post请求：url=接口

  if(method == "get" && data.length !=0){
    url +="?"+data
  }

  // 2 创建http请求
  xhr.open(method,url,async)
  // 3 设置请求头，如果有请求头就设置请求头
  if(contentType){
    xhr.setRequestHeader("Content-type",contentType)
  }
  // 4 发送请求，除了get请求意外传递参数在send中
  if(method =="get"){
    xhr.send()
  }else{
    xhr.send(data)
  }


  function queryString(val){
    // 定义空字符串
    var str=""
    for(var i in val){
      // i是属性
      str+=`${i}=${val[i]}&`
    }
    // 截取长度，将字符串最后一项删除
    return str.substring(0,str.length-1)
  }
  // 5 设置监听请求变化函数
  xhr.onreadystatechange =function(){
    if(xhr.readyState === 4){
      if(xhr.status === 200){
        // 调用传进来的函数并传递参数
        success(xhr.responseText)
      }else{
        // 失败数据
        error(xhr.responseText)
      }
    }
  }
}